SQL Server数据库流量回放快速入门

在进行数据库迁移的过程中,用户时常对迁移目标端数据库的兼容性、性能心存疑虑,流量回放主要针对此痛点提供工具化的解决方案,对即将迁移割接到的目标端数据库兼容性与性能进行全面曝光。本文介绍SQL Server数据库流量回放功能的使用流程,帮助您快速掌握如何使用流量回放进行数据源压测。

1、License申请与查看

在云迁移中心页面,依次点击割接->流量回放进入产品界面,首次进入会看到使用引导,第一步为License申请,点击申请License按钮,会自动生成一个License。申请License是为了防止Agent被滥用,起到保护Agent的作用,License本身包括后续的Agent能力(购买ECS除外),流量回放的使用都不会产生费用

image

申请完成后,可以在页面看到License的过期时间(有效期为三个自然月),点击可以看到当前License

image

2、Agent管理

License申请完成后,需要进行流量回放Agent的部署,需要您提供一台或多台ECS来供CMH进行Agent的部署,具体ECS数量请根据实际情况进行评估。

ECS规格建议:至少8核16G

操作系统建议:CentOS,Alibaba Cloud linux

网络要求:创建的ECS需要和数据源网络打通

其他要求:部署前请自行在ECS安装java

部署说明:

如果使用的是阿里云上ECS,且ECS安装有云助手(阿里云创建的ECS默认就有云助手),建议使用自动部署方式进行Agent安装;

如果非阿里云ECS,但和阿里云VPC打通,或者虽然是阿里云ECS但机器未安装或由于某些原因安装不成功云助手,建议使用手动部署-私网连接方式部署Agent。

如果非阿里云ECS,且网络未打通,但有公网IP的,建议使用手动部署-公网连接方式部署Agent。

下面是三种部署模式的具体说明:

2.1 自动部署

目前,支持自动部署的地域有杭州上海,如有其他地域的部署需求,请通过售后在线联系我们。

注:

  • 自动部署只支持阿里云创建的ECS

  • 安装前请先开通私网连接服务。

准备好ECS后,点击Agent管理进入Agent的安装页面

image

点击Agent安装开始安装Agent流程

image

安装方式选择“自动部署”,依次填写Agent名称、选择地域、选择ECS,完成后,点击提交,CMH会自动完成流量回放Agent的部署流程。

image

部署过程中,可以看到Agent的部署过程。

image

部署完成后,可以在Agent列表看到部署的Agent。

image

2.2 手动部署

2.2.1 公网手动部署

公网手动部署,需要ECS开通公网,CMH可以连接到ECS。

注:

  • ECS可以是任意平台或者IDC的机器,只需要CMH可以公网访问。

准备好ECS后,点击Agent管理进入Agent的安装页面

image

点击Agent安装开始安装Agent流程

image

安装方式选择“手动部署”,依次填写Agent名称、选择公网、填写IP端口,完成后,点击下一步

image

在下一步中,会给出该ECS的安装指令,点击拷贝将该指令拷贝后,到ECS粘贴后执行,即可以完成Agent在ECS的部署。

image

部署完成后,继续点击下一步,然后点击连接按钮,开始与Agent建立连接。

image

建立连接过程可以在线查看

image

部署完成后,可以在Agent列表看到部署的Agent。

2.2.2 私网手动部署

私网手动部署,支持的地域有杭州上海,如有其他地域的部署需求,请通过售后在线联系我们。

注:

  • ECS可以是阿里云或非阿里云机器,只需要VPC打通。

  • 安装前请先开通私网连接服务。

准备好ECS后,点击Agent管理进入Agent的安装页面

image

点击Agent安装开始安装Agent流程

image

安装方式选择“手动部署”,依次填写Agent名称、选择私网、选择地域,选择VPC,填写IP端口,完成后,点击下一步

image

在下一步中,会给出该ECS的安装指令,点击拷贝将该指令拷贝后,到ECS粘贴后执行,即可以完成Agent在ECS的部署。

image

安装完成后,继续点击下一步,然后点击连接按钮,开始与Agent建立连接。

image

建立连接过程可以在线查看

image

部署完成后,可以在Agent列表看到部署的Agent。

2.3 Agent操作

2.3.1 停止

自动部署的Agent,状态为在线时,可以通过点击停止按钮,来关停该Agent

image

停止后,ECS上Agent会被停止,列表状态为停止,停止状态的Agent不可以执行回放任务。

image

2.3.2 启动

停止状态的Agent,可以通过点击启动按钮,来启动该Agent

image

启动后,Agent状态变为在线。

2.3.3 删除

不再使用的Agent,可以在Agent列表进行删除,删除前,需要将该Agent与回放计划进行解绑。

image

2.4.4 重连

手动部署的Agent,在Agent的断连后,Agent状态会被置为离线,在Agent确认启动后,可以点击重连使CMH与Agent重新建立连接

image

重连成功后,Agent状态重新置为在线。

3、新建回放计划

3.1 创建计划

前提条件:

  • 创建回放计划之前,需要先按照上文指引完成Agent的安装

  • 请提前抓取源端数据源的生产流量,不同的数据源采集方式不同,请选择合适的流量抓取方案,抓格式见文档,replay_sql_example.json抓取完成后,转为回放要求的json格式。

  • 请提前将回放使用的json文件上传至Agent

完成agent的安装后可进入回放计划的创建,整体业务流程是先创建回放计划,然后在回放计划中创建回放任务,一个回放计划中可以包含多个回放任务。

进入云迁移中心,在 割接-流量回放中,点击新建回放计划即可开始创建回放计划。

image

第一步:填写基本信息。

目前支持的源端数据库类型包括与目标端数据库类型如下(其中源端数据库类型暂不支持PostgreSQL):

在使用SQL Server流量回放时,选择数据库类型为SQL Server即可。

image

SQL文件路径:需要将回放SQL文件上传到Agent的ECS的某个目录下,并将文件绝对路径填在输入框。

agent选择与数据库连通性测试:只能选择处于正常状态的agent,且数据库连通性测试通过后,在完成计划创建后,创建的任务才能被正常执行。

image

第二步:填写回放计划基本参数,如下图。

模拟客户端数:控制并发数,数值越大,并发数越高。

回放速度因子:速度控制,数值越大,速度越高,如1表示原速,2表示2倍速度,10表示10倍速度。

image

image

3.2 计划详情

完成计划创建后,可以在流量回放的列表中看到所登录账号下的所有的流量回放计划。点击计划标题或者操作中的详情按钮可以进入计划详情。

image

基本信息:展示计划ID、源数据类型、目标数据类型、最后一次任务状态、创建时间、SQL文件路径等信息。

任务概况:展示当前回放计划下的所有回放任务的整体情况,包括回访执行次数、最近一次回放成功率、成功请求数、总请求数、agent列表等信息。

任务列表:展示当前回访计划下的回放任务列表。

image

3.3 创建回放任务

完成回放计划的创建后,在回放计划详情中可以创建回放任务(如下图)。

image

点击“创建任务”后开始创建回放任务,回放任务被创建后不会立即执行,创建后需要手动点击“执行”,所以测试过程中可以放心创建。一些关键参数的释义如下:

选择agent:只能选择正常状态下的agent

模拟客户端参数:回放并发执行线程数。

回放速度因子:速度控制,1表示原速,2表示2倍速度,10表示10倍速度。

是否循环回放:是否循环回放,如果开启循环回放,会忽略“回放速度因子”参数,以最大压力回放,开启循环回放后,根据设置的“回放运行时长”到期自动结束。循环回放过程中对应的写语句,如INSERT,UPDATE等可能会反复报错,建议回放类型只执行DQL。

回放运行时长:运行时间,单位秒,控制任务运行多长时间,到期会自动结束。

schema映射和过滤:例如:schema1:schema2,schema2,只重放schema1、schema2,且schema1映射到schema2。

SQL超时时间:SQL执行的超时时间。

是否commit:是否commit,默认frodo会手动开启事务进行回放,执行完一条SQL后会rollback,如果需要commit,可以设置为是。

是否跳过报错SQL:是否跳过已经报错过的相同SQL指纹的SQL,默认关闭。

image

创建好任务后,在任务列表的行操作中点击“执行”可开始执行该任务。

image

3.4 查看任务进度

创建任务后,在任务的状态列中点击“查看进度”即可查看任务进度。

image

image

3.5 查看回放报告

在任务执行完成后,点击任务行操作的详情按钮可以查看回放报告。

image

请求概况:查看请求总数、平均执行时间、平均RT等信息。

执行详情:以列表形式,展示每个Sql模板的执行情况,包括Sample Sqlschema、执行状态、请求数、请求错误数、源端RT、目标端RT。在行操作中可以查看错误信息

导出报告:点击右上角按钮可以导出Excel格式的报告。

image